
package Figuras;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;
import java.awt.geom.Point2D;


public class Linea extends ComponenteGenerico{

    private Point2D fin;

    public Linea(){
        super();
        introduceElPuntoDeFinDeLaLinea(new Point2D.Double(0, 0));
    }

    public Linea(Point2D puntoInicio, Point2D puntoFin){
        super(puntoInicio);
        introduceElPuntoDeFinDeLaLinea(puntoFin);
    }

    public Linea(int inicioX, int inicioY, int finX, int finY){
        super(inicioX, inicioY);
        introduceElPuntoDeFinDeLaLinea(new Point2D.Double(finX, finY));
    }

    public Point2D devuelveElPuntoDeFinDeLaLinea() {
        return fin;
    }

    public void introduceElPuntoDeFinDeLaLinea(Point2D fin) {
        this.fin = fin;
    }

    public void introduceElPuntoDeFinDeLaLinea(int finX, int finY) {
        Point2D puntoFinCordenadas = new Point2D.Double(finX, finY);
        this.fin = puntoFinCordenadas;
    }

    @Override
    public void dibujar(Graphics g){
        Graphics2D g2;
        Line2D line2D;

        line2D = new Line2D.Float((int)devuelveElPuntoDeInicio().getX(), (int)devuelveElPuntoDeInicio().getY(),
                (int)devuelveElPuntoDeFinDeLaLinea().getX(), (int)devuelveElPuntoDeFinDeLaLinea().getY());
        g2 = (Graphics2D)g;
        g2.draw(line2D);
    }

    @Override
    public boolean devuelveSiEstaDentroElPunto(int x, int y) {
        return false;
    }

    @Override
    public void devuelveLaPosicionDeInicioDelComponente(int x, int y) {
    }

}
